iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0
自我挑戰組

30天初探tensorflow之旅系列 第 18

Day 18 卷積神經網路(CNN)介紹

  • 分享至 

  • xImage
  •  

為了提高模型的準確率,我們需要使用CNN,我們先來認識一下卷積神經網路(CNN)是什麼吧。

  1. 卷積層(Convolutional Layer)
    通過卷積運算,提取輸入數據的局部特徵。每個卷積核會在輸入數據上滑動,生成特徵圖。這讓它能夠捕捉圖像中的空間關係,並減少參數數量。而卷積運算是將原始圖片的與特定的filter運算,就是將下圖兩個3x3的矩陣作相乘後再相加:
    https://ithelp.ithome.com.tw/upload/images/20241002/20169330Y1nPMyX8IR.png
  2. 池化層(Pooling Layer)
    降低特徵圖的尺寸,減少計算量和過擬合的風險。常見的池化方法有最大池化和平均池化。
    在下方矩陣中,只要挑出當中的最大值,這個做法叫Max Pooling。
    https://ithelp.ithome.com.tw/upload/images/20241002/20169330WtYOxhzXXt.png
  3. 全連接層(Fully Connected Layer)
    將前面的特徵圖展平並連接到輸出層,用於最終的分類或預測。
    https://ithelp.ithome.com.tw/upload/images/20241002/20169330yBtHP6yel1.png
  4. 激活函數(Activation Function)
    常用的激活函數有ReLU、Sigmoid和Tanh等,引入非線性特性,使模型能夠學習更複雜的映射。

從上述介紹中能發現,它可以達到很高的準確率有幾個主要的原因,第一個是減少參數數量和引入池化操作,降低過擬合的風險。這能讓模型在未見數據上的表現更穩定,而提高準確率。第二個是池化層能夠減少特徵圖的維度,降低計算量,這可以保留重要的特徵,並抑制不必要的細節。第三個是它會自動從原始數據中提取重要特徵,讓它可以學習到更複雜的特徵。


上一篇
Day 17 MNIST 手寫數字辨識(2)
下一篇
Day 19 卷積神經網路(CNN)實作
系列文
30天初探tensorflow之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言